Phân loại lớp Lớp_(lập_trình_máy_tính)

Có nhiều phân loại lớp, một số có thể trùng lắp nhau.

Trừu tượng và cụ thể

Bài chi tiết: Loại trừu tượng

Cục bộ và nội bộ

Trong một số ngôn ngữ, lớp có thể được định nghĩa theo tầm vực thay vì tầm vực toàn cục. Có nhiều loại lớp như vậy: lớp nội bộ (inner class) và lớp cục bộ (local class)

Siêu lớp

Bài chi tiết: Siêu lớp

Siêu lớp (metaclass) là lớp mà thực thể của nó là lớp.[7]

Non-subclassable

Mixins

Partial

Không khởi tạo

Lớp không khởi tạo (uninstantiable class) cho phép lập trình viên nhóm các trường và phương thức vào cùng một lớp để có thể truy xuất trong thời gian chạy mà không phải khởi tạo thực thể cho lớp đó. Thật vậy, tính năng khởi bị bị cấm đối với loại lớp này.

Ví dụ, trong C#, một lớp được đánh dấu là "tĩnh" (static) không thể được khởi tạo, chỉ có các thành viên tĩnh (trường, phương thức...), không có hàm tạo thực thể, và bị niêm phong (seal).[8]

Không tên

Lớp không tên (unnamed class) hay lớp vô danh (anonymous class) là lớp mà không có ràng buộc với tên hay định danh nào. Điều này tương tự như hàm có tên với hàm vô danh (anonymous function).